#pragma once
#ifndef CGUICHECKBOX_H_
#define CGUICHECKBOX_H_

#include "GUI.h"

class CGUICheckBox : public CGUIBase{
private:
	LPCSTR m_Text;
	bool m_bChecked;
public:
	CGUICheckBox(GUI_PARAMS* params, GUI_COLORS* _colors, GUI_SPRITES* _sprites, bool _checked, LPCSTR _text);
	~CGUICheckBox();

	virtual bool WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
    virtual bool HandleKeyboard( UINT uMsg, WPARAM wParam, LPARAM lParam );
    virtual bool HandleMouse( UINT uMsg, WPARAM wParam, LPARAM lParam );

	virtual bool RequestFocus();
	virtual bool CanHaveFocus();
    virtual void OnFocusIn();
    virtual void OnFocusOut();
    virtual void OnMouseEnter();
    virtual void OnMouseLeave();
    virtual void OnHotkey();

	virtual void Step();
	virtual void Draw();

	void SetChecked( bool _checked ) { Checked=_checked; }
	bool GetChecked() { return Checked; }
	void SetText( LPCSTR _text ) { Text=_text; }
	LPCSTR GetText() { return Text; }
};

#endif